package com.cf.utils;

/**
 * 定时任务
 * 
 */
//extends QuartzJobBean
public class ScheduleJob {
	/*
	 * private Logger logger = LoggerFactory.getLogger(getClass()); private
	 * ExecutorService service = Executors.newSingleThreadExecutor();
	 * 
	 * @Override protected void executeInternal(JobExecutionContext context) throws
	 * JobExecutionException { String jsonJob =
	 * context.getMergedJobDataMap().getString(ScheduleJobEntity.JOB_PARAM_KEY);
	 * ScheduleJobEntity scheduleJob = JSON.parseObject(jsonJob,
	 * ScheduleJobEntity.class);
	 * 
	 * //获取spring bean ScheduleJobLogService scheduleJobLogService =
	 * (ScheduleJobLogService) SpringContextUtils.getBean("scheduleJobLogService");
	 * 
	 * //数据库保存执行记录 ScheduleJobLogEntity log = new ScheduleJobLogEntity();
	 * log.setJobId(scheduleJob.getJobId());
	 * log.setBeanName(scheduleJob.getBeanName());
	 * log.setMethodName(scheduleJob.getMethodName());
	 * log.setParams(scheduleJob.getParams()); log.setCreateTime(new Date());
	 * 
	 * //任务开始时间 long startTime = System.currentTimeMillis();
	 * 
	 * try { //执行任务 logger.info("任务准备执行，任务ID：" + scheduleJob.getJobId());
	 * ScheduleRunnable task = new ScheduleRunnable(scheduleJob.getBeanName(),
	 * scheduleJob.getMethodName(), scheduleJob.getParams()); Future<?> future =
	 * service.submit(task);
	 * 
	 * future.get();
	 * 
	 * //任务执行总时长 long times = System.currentTimeMillis() - startTime;
	 * log.setTimes((int)times); //任务状态 0：成功 1：失败 log.setStatus(0);
	 * 
	 * logger.info("任务执行完毕，任务ID：" + scheduleJob.getJobId() + "  总共耗时：" + times +
	 * "毫秒"); } catch (Exception e) { logger.error("任务执行失败，任务ID：" +
	 * scheduleJob.getJobId(), e);
	 * 
	 * //任务执行总时长 long times = System.currentTimeMillis() - startTime;
	 * log.setTimes((int)times);
	 * 
	 * //任务状态 0：成功 1：失败 log.setStatus(1);
	 * log.setError(StringUtils.substring(e.toString(), 0, 2000)); }finally {
	 * scheduleJobLogService.save(log); } }
	 */
}
